#include "Function.h"
#include <stdio.h>
#include <stdlib.h>


//Cette fonction sera chargée de mettre à jour les données de la map pour le scoreTab.
//dans le but de suivre au cours du jeu les forces et faiblesses des adversaires
void updateScoreTab(SCommManager* CommManager, SScoreTab* score, unsigned int nbCell){
	
	unsigned int cell, team, unit, isCenter = 0;
	ECellNature nature;
	EUnitType type;
	SJoueur* tempJ;
	
	//Parcours du tableau
	for (cell=1;cell<=nbCell;cell++){
		if (CommManager->GetContentCell(cell, &nature, &team, &unit, &type) >= 0){//UNIT == nbUnits?
			
			if (team){
				//Calculate place in memory
				//printf(" - team(%d) - unit(%d) - type(%d)\n", team, unit, type);
				tempJ = getJoueurnumber(*score, team);
				
				printf("\%d\n", tempJ->overall);
				printf("team %d :", team);
				
				//Eval
				//Les centres
				if (nature == CN_Center) {
					printf("a un centre -- ");
					tempJ->scoreCentre += BAREME_CENTER;
					isCenter=1;
				}
//				
//				//Les unités
//				if (unit) {
//					printf(" des unités %d -- ", unit);
//					tempJ->scoreUnit +=  BAREME_UNIT;
//				}
//				
//				//				//Si la team est moi
//				//				if (team == score->myTeamId) {
//				//					evalNeighCell(CommManager, score, tempJ, cell, isCenter);
//				//				}
//				
//				printf("\n");
//				//At least, get back to the first one
//				//			pcoeff = score->CoeffDangerList;
//				isCenter=0;
			}
			
		}
	}
	
}


//Fonction qui évalue les voisins d'une des cases m'appartenant
void evalNeighCell(SCommManager* CommManager,  SScoreTab* score, SJoueur* joueur, unsigned int cell, unsigned int isCenter){
	unsigned int team, unit, i;
	ECellNature nature;
	EUnitType type;
	SCell** NeighCell;
	
	
	if(NeighCell = (SCell**) CommManager->GetNeighborCell(cell)){
		
		for (i=0; NeighCell[i]; i++){
			//printf("\tNeighborCell(%d) - nature(%d)\n", NeighCell[i]->idCell, NeighCell[i]->nature);
			
			if (CommManager->GetContentCell(cell, &nature, &team, &unit, &type) >= 0){
				//	printf(" \t\t equipe(%d) - unit(%d)\n", team, unit, type);
				//Si le voisin d'une de mes cases est différents de moi alors
				//il est proche et potentiellement dangereux pour moi
				if (team && team != score->myTeamId) {
					printf("proche de moi -- ");
					
					if (isCenter) {
						printf("avec un centre--");
						joueur->scoreProximite += BAREME_PROX_CENTER;
						
					}
					joueur->scoreProximite += BAREME_PROX;
				}
			}
		}
	}
}
